Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal stores

نویسندگان

چکیده

Existing semantic formalisations of the Intel-x86 architecture cover only a small fragment its available features that are relevant for consistency semantics multi-threaded programs as well persistency interfacing with non-volatile memory. We extend these to cover: (1) non-temporal writes, which provide higher performance and used ensure updates flushed memory; (2) reads writes other memory types, namely uncacheable, write-combined, write-through; (3) interaction between features. develop our formal model in both operational declarative styles, prove two characterisations equivalent. have empirically validated formalisation additional their subtle interactions by extensive testing on different implementations.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SMLNJ: Intel x86 back end Compiler Controlled Memory

This note describes the code generation algorithm used for the Intel x86, introduced in version 110.16. The standard Chaitin graph coloring register allocation cannot be used directly for machines with few registers, as all temporaries wind up being spilled, making for a poor allocation[Cha82]. Thus, for the x86, the conceptual model of the architecture has been extended with a set of memory lo...

متن کامل

The Augmint multiprocessor simulation toolkit for Intel x86 architectures

Most publicly-available simulation tools only simulate RISC architectures. These tools cannot capture the instruction mix and memory reference patterns of CISC architectures. In this paper, we present an overview of Augmint, an execution-driven multiprocessor simulation toolkit that fills this gap by supporting Intel x86 architectures. Augmint also supports trace-driven simulation for uniproces...

متن کامل

Vizer: A System to Vectorize Intel x86 Binaries

Traditional compilers conduct optimizations on intermediate representations derived from high level source code. However, it is sometimes necessary and fruitful to optimize executables or compiled object files. This paper describes the Vizer system which automatically vectorizes object code for the Intel x86 architecture. Binary optimization offers the opportunity to improve performance in situ...

متن کامل

Augmint -a Multiprocessor Simulation Environment for Intel X86 Architectures 1

Augmint is a fast execution driven multiprocessor simulator for Intel x86 architectures. It is based on MINT [1], but provides a user interface similar to that of Tangolite [2]. For the sake of simulation speed, processors are modelled as user level threads. A user de ned memory hierarchy simulator can be plugged into the simulator to study the behaviour of the architecture under consideration. 1.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2022

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3498683